package com.nt.train.dao;
import com.nt.train.entity.Department;
import com.nt.train.entity.Employee;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

/**
 * @author hlf
 * @version 1.0
 * @date 2022/8/16 17:30
 */
@Repository
public class EmployeeDao {

    //模拟数据库中的数据
    private  static Map<Integer, Employee> employees = null;

    //员工有所属的部门
    @Autowired
    private  DepartmentDao departmentDao;

    static {
        employees = new  HashMap<Integer,Employee>();
        employees.put(1001,new Employee(1001,"AA","2831826106@qq.com",1,new Department(101,"教学部")));
        employees.put(1002,new Employee(1002,"BB","2831826106@qq.com",1,new Department(102,"教研部")));
        employees.put(1003,new Employee(1003,"CC","2831826106@qq.com",1,new Department(103,"市场部")));
        employees.put(1004,new Employee(1004,"DD","2831826106@qq.com",1,new Department(104,"运营部")));
        employees.put(1005,new Employee(1005,"EE","2831826106@qq.com",1,new Department(105,"清洁部")));

    }

    //主键自增
    private  static  Integer ininID = 1006;

    // 增加一个员工
    public  void  save(Employee employee){
        if (employee.getId()== null){
            employee.setId(ininID++);
        }
        employee.setDepartment(departmentDao.getDepartmentByid(employee.getDepartment().getId()));
        employees.put(employee.getId(),employee);

    }

    //查询全部员工
    public Collection<Employee> getAll(){
        return  employees.values();
    }

    //通过ID查询员工
    public  Employee getEmployeeByid(Integer id){
        return  employees.get(id);

    }
    //删除员工拖过ID
    public  void  delete(Integer id){
        employees.remove(id);
    }

}